home *** CD-ROM | disk | FTP | other *** search
/ Mac-Source 1994 July / Mac-Source_July_1994.iso / Add-ons / Resourceror ƒ / BTMP.h < prev    next >
Text File  |  1989-11-19  |  3KB  |  92 lines

  1. /* ========================================================================≠===========≠=============== *
  2.     file:    BTMP.h
  3.     version:    1.00.00
  4.     date:    11.20.89
  5.     history:    m_o 11.20.89
  6.  * ------------------------------------------------------------------------+-----------+--------------- *
  7.     Copyright © 1989, Michael Ogawa — All Rights Reserved.
  8.     May not be redistributed for commercial purposes.  May not be
  9.     redistributed if altered in any way, or without accompanying
  10.     documents.  May be freely distributed on electronic bulletin boards
  11.     provided no additional charges above the board’s standard connect
  12.     charges are imposed.  May be freely distributed by non-profit
  13.     organizations on disk provided that any charges for the distribution
  14.     disk does not exceed actual disk, labelling materials, reproduction,
  15.     and shipping charges incurred by the organization.
  16.     This software is provided “as is”, with no warranties, either express
  17.     or implied, being made regarding its fitness for any particular
  18.     purpose.
  19.  * ========================================================================≠===========≠=============== */
  20.  
  21. #ifndef _H_BTMP
  22. #define _H_BTMP
  23.  
  24. #ifdef THINK_C
  25. /*    #include <MacHeaders> */
  26. #elif defined (applec)
  27. #    include <Quickdraw.h>
  28. #endif
  29.  
  30.  
  31. /* data types =============================================================≠===========≠=============== */
  32.  
  33. #ifdef THINK_C
  34. #    ifndef const
  35. #        define const    /* not yet implemented in ThinkC */
  36. #    endif const
  37. #endif THINK_C
  38.  
  39.  
  40. #ifndef REZ
  41. typedef struct {
  42.     BitMap    map;
  43.     short    image[];        
  44. } TBTMP, *TBTMPPeek, **TBTMPPkHndl;
  45. typedef BitMap    *TBTMPPtr, **TBTMPHndl;
  46. #else
  47. type kType_BitMap {
  48.     unsigned longint = 0; /* map.baseAddr */
  49.     integer;            /* map.rowBytes */
  50.     rect;            /* map.bounds */
  51.     hex string;        /* image */
  52. };
  53. #endif REZ
  54. /*    Data structure for our custom bitmap and image resource type. */
  55. /*    mps 06.22.89/m_o 06.25.89 */
  56.  
  57.  
  58. #ifndef REZ
  59. typedef struct {
  60.     short    szEntry;
  61.     TBTMP    theBTMP;
  62. } TBTMNEntry, *TBTMNEntryPtr;
  63. #endif REZ
  64. /*    An entry in the 'BTM#' resource data type consists of a field
  65. containing the size of the entry in bytes, followed by the 'BTMP' resource
  66. data.
  67.     Note that you may want to change the szEntry field to type Size to
  68. deal with very large bit images. */
  69. /*    mps 06.22.89/m_o 11.17.89 */
  70.  
  71. #ifndef REZ
  72. typedef struct {
  73.     short        count;
  74.     TBTMNEntry    theBTMNEntries[];
  75. } *TBMPN, *TBTMNPtr, **TBTMNHndl;
  76. #endif REZ
  77. /*    The 'BTM#' resource data type consists of a field indicating the
  78. number of entries in the resource, followed by the entries. */
  79. /*    mps 06.22.89/m_o 11.13.89 */
  80.  
  81.  
  82. /* function prototypes ====================================================≠===========≠=============== */
  83.  
  84. #ifndef REZ
  85. extern void PlotPBitMap(const Rect *r, TBTMPPtr pTheBitMap, short mode);
  86. extern char LockBitMap(TBTMPHndl hTheBitMap);
  87. extern void PlotBitMap(const Rect *r, TBTMPHndl hTheBitMap, short mode);
  88. #endif REZ
  89.  
  90.  
  91. #endif _H_BTMP
  92.